package com.ktjy;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.sql.SQLOutput;

public class Demo5 {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException {
        //1.解剖.class文件的基本信息
        Class clz= Person.class;

        //获取这个类中的方法
        //1.获取所有方法(获取所有被public修饰的方法 包括从父类继承过来的方法)
        Method[] methods = clz.getMethods();
        for (Method method : methods) {
            System.out.println(method);
        }
        System.out.println("_------------------------------------");
        //2.获取所有方法(只会获取自己定义方法，不管修饰符是什么)
        Method[] methods2 = clz.getDeclaredMethods();
        for (Method method : methods2) {
            System.out.println(method);
        }
        System.out.println("-----------------------------------");
        //3.获取指定的方法(只能获取public修饰的方法)
//        Method setName = clz.getMethod("study", String.class);
//        System.out.println(setName);
        System.out.println("------------------------------------");
        //4.获取指定的方法(只能获取public修饰的方法)
        Method setName2 = clz.getDeclaredMethod("study", String.class);
        System.out.println(setName2);

    }
}
